<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // this 是谁:谁调用就是谁, xxx.func()
        // 看不出来谁调用,一般是 window

        // 全局的变量都相当于是添加给了 window对象
        // 鸿蒙中没有这个对象
        function sayHi(){
            console.log('sayHi',this)
        }
        // sayHi()

        // 能看出来谁调用
        const person={
            name:'小李子',
            film:['jump'],
            skill:'不要跳',
            // 给对象设置一个方法
            sayHi(){
                console.log(this)
            },
            sayHello:()=>{
                console.log('sayHello',this)
            },
            sayHiPlus(){
                console.log('sayHiPlus',this)
                // setTimeout(() => {
                //     console.log('sayHiPlus',this) // this ? person
                // }, 1000);
                setTimeout(function()  {
                    console.log('sayHiPlus',this) // this ? window
                }, 1000);
            }
        }

        // person点的, sayHi 中目前是  peroson
        // person.sayHi()

        // sayHello 绑定的是箭头函数
        // 箭头函数:创建时会绑定当前作用域的 this,如果有的话
        // 当前作用域没有 this,向上一级去找,找到全局为止,还找不到.window
        // 常见的作用域:函数作用域,块级作用域,模块作用域,全局作用域
        // person.sayHello()

        person.sayHiPlus()
    </script>
</body>
</html>